package com.passion.solr.service;


import com.passion.solr.frm.SchemaFieldOperateFrm;

import java.util.Map;

/**
 * 类描述：solr管理服务接口
 *
 * @author ZhuYin
 * @since 2024年09月23日
 */
public interface SolrManageService {

    /**
     * 方法说明：向solr的schema配置汇中添加或删除字段
     *
     * @param frm 字段操作参数对象
     * @return Map 返回：{"result": true, "message": ""} 或 {"result": false, "message": "xxx"}
     * @author ZhuYin
     * @since 2024年09月23日
     */
    Map<String, Object> operateField(SchemaFieldOperateFrm frm);

    /**
     * 方法说明：初始化指定core的字段
     *
     * @param coreName core名称
     * @return Map 返回：{"result": true, "message": ""} 或 {"result": false, "message": "xxx"}
     * @author ZhuYin
     * @since 2024年09月23日
     */
    Map<String, Object> initCoreFields(String coreName) throws Exception;


    /**
     * 方法说明：删除指定core的字段
     *
     * @param coreName core名称
     * @return Map 返回：{"result": true, "message": ""} 或 {"result": false, "message": "xxx"}
     * @author ZhuYin
     * @since 2024年09月23日
     */
    Map<String, Object> deleteCoreFields(String coreName);
}
